In a CDMA mobile communication system, there are severe Multiple Access Interference (MAI) and Inter-Symbol Interference (ISI). The traditional received signal detection for single user employs a matched filtering method, wherein the matching filter performs correlated matching operation on the user's spread spectrum sequence waveform after channel response, to implement separation and detection of desired signal and interfering signal. In case of severe MAI and Multi-Path Interference (MPI), the performance of the traditional single-user matched filtering method can not meet the requirement. In a time-slot CDMA system, a joint detection technique can be used, i.e., information on the sent signals and the channel responses thereof for all users are utilized and the signal detection is treated as a unified joint detection process. When the received signal is detected with the joint detection method, Multiple Access Interference and Inter-Symbol Interference can be suppressed, and the performance of the Code Division Multiple Access system can be improved significantly (see A. Klein, G. K. Kaleh and P. W. Baier, “Zero forcing and minimum mean square error equalization for multiuser detection in code division multiple access channels,” IEEE Trans. Veh. Technol., vol. 45, pp. 276-287, May 1996).
However, two challenges will arise when using joint detection to improve system performance:
1) when carrying out the joint detection, the receiver has to know the complete information on the channelization codes and the channel responses thereof for all user code channels. In certain cases, especially when a user terminal receives downlink signal, it is often impossible to use the joint detection method, as it is difficult to obtain the information completely;
2) the computation with the joint detection method is much more complicated than that with the single-user matched filtering method, which results in more difficult implementation and adverse effect to such indications as cost, power consumption, and reliability, etc.
It is a major technical requirement in application and development of Code Division Multiple Access mobile communication systems to provide respective signal detection solutions under different conditions (good or poor channel environment, whether or not complete information is available, etc.) and requirements (performance, complexity of implementation, etc.).
On the other hand, in 3GPP TDD standard, three different midamble allocation schemes exist: common, default, and specific modes. Wherein, common and default modes support joint detection technique, because they meet the first condition described above; however, specific mode is more suitable for certain situations with high-data-rate users. Because in specific mode, each user terminal only knows the user's own spread spectrum code and the corresponding channel response thereof, but does not know the corresponding relation between the midamble code and spread spectrum code of any other user, in such a case it is difficult to utilize information of other channels to perform joint detection, resulting in degraded performance of terminal detection.
In addition, in some applications, a simplified receiving detection algorithm is expected. For example, in an application where the terminals receive high-speed downlink data (e.g., High-Speed Downlink Packet Access, HSDPA), it is difficult to implement a more complicated receiving detection algorithm by the terminals; another example is: in some cases with relatively good channel environment, it is unnecessary to perform joint detection, and therefore a complicated algorithm is unnecessary.
In view of above demands, we must take full advantage of the features of Code Division Multiple Access mobile communication systems to develop a new signal detection method.
In a 3GPP TDD system, two kinds of important information can be utilized: one is the orthogonality of spread spectrum codes; the other is that the channel estimation results of all users can be obtained from the midamble code.
Regarding the orthogonality of spread spectrum codes: in an orthogonal code Code Division Multiple Access system, spread spectrum codes are the product of mutually orthogonal channelization codes and the scrambling codes for the cell; there is orthogonality between the different spread spectrum codes in the same cell. For example, in 3GPP TDD standard, complex spread spectrum codes c(kru) are binaries modulated with ji (ji represents rotation factor according to the serial number of code chip), and the spread spectrum codes c(kru) of downlink can be obtained with the following formula:c(kru)=w16(k)·c16(k)·vwhere, c16(k) is the channalization code of kru (Walsh Code with spread spectrum factor=16 and serial number=k), w16(k) is the corresponding complex factor, v  is the complex scrambling code vector dependent on the cell.
There is orthogonality between spread spectrum codes, i.e., they follow the following formula:
                    c        _                              (                      k            1                    )                                                   *                    ⁢          T                      ·                  c        _                    (                  k          2                )              =      {                            16                                                    k              1                        =                          k              2                                                            0                                                    k              1                        ≠                          k              2                                          
where, *T represents conjugate transposition (identical to symbol H); when the spread spectrum factor is 16, the inner product of two spread spectrum codes with the same serial number is 16, and the inner product of two spread spectrum codes with different serial numbers is 0.
Regarding multi-user channel estimation: in a 3GPP TDD system, the channel response results h(k) of all users in the serving cell can be obtained with the midamble code, which is expressed as follows:h(k)=(h1(k),h2(k), . . . , hw(k))T 
where, k=1, . . . , K, representing different channel estimation windows; W represents the length of channel estimation window, T represents transposition.
In three different midamble allocation schemes as specified in 3GPP TDD standard, although a definite corresponding relation between the midamble code and spread spectrum code may not be obtained, it is ensured that definite channel response estimation results corresponding to different users can be obtained. The channel response estimation result can reflect complete channel response of one or more code channels corresponding to the channel estimation window as well as the time waveform and power characteristic of multi-path response.